Programming robots, especially to perform natural (for example, human-like) motions, is a difficult task. The motions are usually programmed manually or by numerical optimization techniques to minimize, for example, energy consumption subject to dynamics and/or kinematics constraints. Motion capture data is potentially a good starting point; however, previous uses of motion capture data have fallen short of tracking and balancing robots as contemplated herein.